package com.ruoyi.bl.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 发货和配送单对象 bl_delivery_doc
 * 
 * @author ruoyi
 * @date 2024-12-07
 */
public class BlDeliveryDoc extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 发货单ID */
    private Long deliveryId;

    /** 部门ID */
    private Long deptId;

    /** 订单ID */
    private Long orderId;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderSn;

    /** 用户ID */
    private Long userId;

    /** 配送人员id */
    @Excel(name = "配送人员id")
    private Long psuserId;

    /** 收货人名称 */
    @Excel(name = "收货人名称")
    private String consignee;

    /** 联系手机 */
    @Excel(name = "联系手机")
    private String mobile;

    /** 0 待接 1 配送中 2 退订 3 送达 */
    @Excel(name = "0 待接 1 配送中 2 退订 3 送达")
    private Long psStatus;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 地区编码 */
    @Excel(name = "地区编码")
    private String areaCode;

    /** 地区编码简称 */
    @Excel(name = "地区编码简称")
    private String areaName;

    /** 管理员添加的备注信息 */
    @Excel(name = "管理员添加的备注信息")
    private String note;

    /** 友好收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "友好收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bestTime;

    /** 出场时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出场时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Integer isDel;

    /** 是否绑定0:未绑定1:已绑定 */
    @Excel(name = "是否绑定0:未绑定1:已绑定")
    private Long isBind;

    /** 配送开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "配送开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date psStarttime;

    /** 配送结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "配送结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date psEndtime;

    private String payCode;

    private String payName;

    List<BlOrderGoods> blOrderGoodsList;

    private Integer orderStatus;

    private Integer shippingStatus;

    private Integer deliveryStatus;

    private String psStatusParams;

    public void setDeliveryId(Long deliveryId) 
    {
        this.deliveryId = deliveryId;
    }

    public Long getDeliveryId() 
    {
        return deliveryId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setOrderSn(String orderSn) 
    {
        this.orderSn = orderSn;
    }

    public String getOrderSn() 
    {
        return orderSn;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setPsuserId(Long psuserId) 
    {
        this.psuserId = psuserId;
    }

    public Long getPsuserId() 
    {
        return psuserId;
    }

    public void setConsignee(String consignee) 
    {
        this.consignee = consignee;
    }

    public String getConsignee() 
    {
        return consignee;
    }
    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }

    public Long getPsStatus() {
        return psStatus;
    }

    public void setPsStatus(Long psStatus) {
        this.psStatus = psStatus;
    }

    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setAreaCode(String areaCode) 
    {
        this.areaCode = areaCode;
    }

    public String getAreaCode() 
    {
        return areaCode;
    }
    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }
    public void setBestTime(Date bestTime) 
    {
        this.bestTime = bestTime;
    }

    public Date getBestTime() 
    {
        return bestTime;
    }
    public void setSendTime(Date sendTime) 
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime() 
    {
        return sendTime;
    }
    public void setIsDel(Integer isDel) 
    {
        this.isDel = isDel;
    }

    public Integer getIsDel() 
    {
        return isDel;
    }
    public void setIsBind(Long isBind) 
    {
        this.isBind = isBind;
    }

    public Long getIsBind() 
    {
        return isBind;
    }
    public void setPsStarttime(Date psStarttime) 
    {
        this.psStarttime = psStarttime;
    }

    public Date getPsStarttime() 
    {
        return psStarttime;
    }
    public void setPsEndtime(Date psEndtime) 
    {
        this.psEndtime = psEndtime;
    }

    public Date getPsEndtime() 
    {
        return psEndtime;
    }

    public String getPayCode() {
        return payCode;
    }

    public void setPayCode(String payCode) {
        this.payCode = payCode;
    }

    public String getPayName() {
        return payName;
    }

    public void setPayName(String payName) {
        this.payName = payName;
    }

    public List<BlOrderGoods> getBlOrderGoodsList() {
        return blOrderGoodsList;
    }

    public void setBlOrderGoodsList(List<BlOrderGoods> blOrderGoodsList) {
        this.blOrderGoodsList = blOrderGoodsList;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Integer getShippingStatus() {
        return shippingStatus;
    }

    public void setShippingStatus(Integer shippingStatus) {
        this.shippingStatus = shippingStatus;
    }

    public Integer getDeliveryStatus() {
        return deliveryStatus;
    }

    public void setDeliveryStatus(Integer deliveryStatus) {
        this.deliveryStatus = deliveryStatus;
    }

    public String getPsStatusParams() {
        return psStatusParams;
    }

    public void setPsStatusParams(String psStatusParams) {
        this.psStatusParams = psStatusParams;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deliveryId", getDeliveryId())
            .append("deptId", getDeptId())
            .append("orderId", getOrderId())
            .append("orderSn", getOrderSn())
            .append("userId", getUserId())
            .append("psuserId", getPsuserId())
            .append("consignee", getConsignee())
            .append("mobile", getMobile())
            .append("psStatus", getPsStatus())
            .append("address", getAddress())
            .append("areaCode", getAreaCode())
            .append("areaName", getAreaName())
            .append("note", getNote())
            .append("bestTime", getBestTime())
            .append("sendTime", getSendTime())
            .append("isDel", getIsDel())
            .append("isBind", getIsBind())
            .append("psStarttime", getPsStarttime())
            .append("psEndtime", getPsEndtime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
